package br.gov.mi.corporativo.dominio.boundary.comum.pessoadocumento;

import java.util.Date;
import java.util.List;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;

import br.gov.mi.corporativo.dominio.entidade.comum.PessoaDocumento;

@WebService
public interface PessoaDocumentoEndPoint {
	
	@WebMethod(operationName = "recuperarTodasPessoasDocumento")
	public @WebResult(name="listaPessoaDocumento")List<PessoaDocumento> recuperarTodos();


	@WebMethod(operationName = "recuperarPessoaDocumentoPorIdPessoaDocumento")
	public @WebResult(name="pessoaDocumento")PessoaDocumento recuperarPorIdPessoaDocumento(
		   @WebParam(name="idPessoaDocumento") Long idPessoaDocumento); 
	
	@WebMethod(operationName = "recuperarPessoaDocumentoPorMunicipio")
	public @WebResult(name="listaPessoaDocumento")List<PessoaDocumento> recuperarPorMunicipio(
		   @WebParam(name="municipio") Long municipio); 
	
	@WebMethod(operationName = "recuperarPessoaDocumentoPorTipoDocumento")
	public @WebResult(name="listaPessoaDocumento")List<PessoaDocumento> recuperarPorTipoDocumento(
		   @WebParam(name="tipoDocumento") Long tipoDocumento); 
	
	@WebMethod(operationName = "recuperarPessoaDocumentoPorUf")
	public @WebResult(name="listaPessoaDocumento")List<PessoaDocumento> recuperarPorUf(
		   @WebParam(name="uf") Long uf); 
	
	@WebMethod(operationName = "recuperarPessoaDocumentoPorPessoa")
	public @WebResult(name="listaPessoaDocumento")List<PessoaDocumento> recuperarPorPessoa(
		   @WebParam(name="pessoa") Long pessoa); 
	
	@WebMethod(operationName = "recuperarPessoaDocumentoPorNrDocumento")
	public @WebResult(name="listaPessoaDocumento")List<PessoaDocumento> recuperarPorNrDocumento(
		   @WebParam(name="nrDocumento") String nrDocumento); 
	
	@WebMethod(operationName = "recuperarPessoaDocumentoPorNrSecao")
	public @WebResult(name="listaPessoaDocumento")List<PessoaDocumento> recuperarPorNrSecao(
		   @WebParam(name="nrSecao") Long nrSecao); 
	
	@WebMethod(operationName = "recuperarPessoaDocumentoPorNrZona")
	public @WebResult(name="listaPessoaDocumento")List<PessoaDocumento> recuperarPorNrZona(
		   @WebParam(name="nrZona") Long nrZona); 
	
	@WebMethod(operationName = "recuperarPessoaDocumentoPorDtEmissao")
	public @WebResult(name="listaPessoaDocumento")List<PessoaDocumento> recuperarPorDtEmissao(
		   @WebParam(name="dtEmissao") Date dtEmissao); 
	
	@WebMethod(operationName = "recuperarPessoaDocumentoPorDtValidade")
	public @WebResult(name="listaPessoaDocumento")List<PessoaDocumento> recuperarPorDtValidade(
		   @WebParam(name="dtValidade") Date dtValidade); 
	
	@WebMethod(operationName = "recuperarPessoaDocumentoPorStRegistro")
	public @WebResult(name="listaPessoaDocumento")List<PessoaDocumento> recuperarPorStRegistro(
		   @WebParam(name="stRegistro") String stRegistro); 
	
	
	
}